package cn.miao.doc;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.lang.annotation.Documented;
import java.util.Date;

/**
 * @program: springcloud-hrm
 * @description: 主要用于:索引库的创建、文档的映射、存储到ES的数据封装
 * @author: MiaoWei
 * @create: 2021-11-27 20:41
 **/
@Data
@Document(indexName = "coursesearch",type = "course")
public class CourseDoc {
    //对应文档的id  PUT  /index/type/id
    @Id
    private Long id;

    /**
     * 课程名称
     */
    @Field(type = FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word")
    private String name;

    /**
     * 适用人群
     */
    @Field(type = FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word")
    private String forUser;

    /**
     * 等级的名字
     */
    @Field(type = FieldType.Keyword)
    private String gradeName;

    /**
     * 机构名称
     */
    @Field(type = FieldType.Keyword)
    private String tenantName;

    /**
     * 图片, id默认情况下分词，一般默认分词就好，除非这个字段你确定查询时不会用到
     */
    @Field(type =FieldType.Keyword,index = false)
    private String pic;

    private Long tenantId;

    /**
     * 销量
     */
    private Integer saleCount;

    /**
     * 浏览量
     */
    private Integer viewCount;

    /**
     * 评论数
     */
    private Integer commentCount;

    /**
     * 上线时间
     */
    private Date onlineTime;

    /**
     * 费用名称,收费还是免费
     */
    @Field(type =FieldType.Keyword)
    private String chargeName;

    /**
     * 价格
     */
    private Float price;

    private Float priceOld;

    /**
     * 课程类型id
     */
    private Integer courseTypeId;
    /**
     * 课程类型的名字
     */
    @Field(type=FieldType.Keyword)
    private String  courseTypeName;


}
